
// 对不同平台的小程序进行代理
let baseURL = "/api"
if (process.env.UNI_PLATFORM === 'h5') {
    baseURL = "/api"
} else {
    baseURL = "http://192.168.43.222:3000"
}

/**
 *  使用Promise 对uni.request进行封装
 */
import { getToken, removeToken } from '@/utils/token.js'
function request(params = { methods, url, data }) {
    return new Promise(function (resolve, reject) {
        uni.request({
            url: baseURL + params.url,
            method: params.methods,
            data: params.data ? JSON.stringify(params.data) : null,
            header: {
                'Content-Type': 'application/json',
                'Authorization': getToken()
            },
            timeout: 6000,
            success(res) {
                if (res.statusCode == 200) {
                    console.log('成功请求', res);
                    if (res.data.code == 502) {
                        uni.showToast({
                            icon: 'error',
                            title: res.data.message,
                            showCancel: false,
                        })
                        reject(res.data);
                    } else
                        if (res.code == 200 || res.data.code == 200 || res.data.data.code == 200) {
                            resolve(res.data);
                        } else if (res.data.code == 401 || res.code == 401) {
                            //token过期
                            removeToken();
                            uni.navigateTo({
                                url: '/pages/login/index'
                            });
                            ni.showToast({
                                icon: 'error',
                                title: res.data.message,
                                showCancel: false,
                                success: function (res) { }
                            })
                            reject(res.data.message);
                        } else {
                            uni.showToast({
                                icon: 'error',
                                title: res.data.message,
                                showCancel: false,
                            })
                            reject(res.data);
                        }
                } else {
                    console.log("请求错误", res);
                    uni.showToast({
                        icon: 'error',
                        title: res.data.message || res.data.msg.name || res.data.msg,
                        showCancel: false,
                    })
                    reject(res.data);
                }

            },
            fail(err) {
                reject(err)
            }
        })
    })
}
module.exports = {
    request: request,
    baseURL
}
